达成成就:和qls、MjLee合影
FDU温老师 数论函数选讲
数论函数
整除分块
- 形式:$\sum_{i=1}^{i=n} ⌊\frac{n}{i}⌋$
- 这个式子只有$\sqrt{n}$种取值
- 每个相同值的块,最后一个数 $i$ 是$n/(n/i)$,故可以$\sqrt{n}$处理出上面式子的结果
1 | for(int l=1,r;l<=n;i=r+1){ |
一些定义和性质
- $\lceil \frac{n}{ab} \lceil$ = $\lceil\frac{\lceil\frac{n}{a}\rceil}{b} \rceil$,$\lfloor \frac{n}{ab} \rfloor$ = $\lfloor\frac{\lfloor \frac{n}{a} \rfloor }{b} \rfloor$
- $\lfloor \frac{n}{i}\rfloor$只有$\sqrt{n}$中取值
莫比乌斯
莫比乌斯函数
定义
莫比乌斯函数 $\mu(n)$ ,设$n=p_1^{k1}·p_2^{k2}·····p_m^{km}$,则有:
$$
\mu(n)=
\left{\begin{matrix}
1 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ n=1\
(-1)^m \ \ \ \ \ \ \prod _{i=1}^{i=m}k_i \
0 \ \ \ {\rm otherwise}(k_i>1)
\end{matrix}\right.
$$
性质
- 莫比乌斯函数是积性函数,即$\mu(a·b)=\mu(a)·\mu(b),(\gcd(a,b)=1)$
- 根据上面性质,我们可以采取线性筛法,用 O(n)O(n) 的时间预处理出所有 $[1, n]$ 内的莫比乌斯函数值。
- $\sum_{d|n}{\mu(d)}=[n=1]$,即只有当且仅当n=1时,上式子才为1,反之为0。
- $\sum_{d|n}{\frac{\mu(d)}{d}}=\frac {\phi (n)}{n}$
莫比乌斯反演
公式
如果 f(n), g(n) 是数论函数,且满足:
A
题意
题解
B
题意
题解
C
题意
题解
D
题意
题解
E
题意
题解
F
题意
题解
G
题意
题解
H
题意
题解
I
题意
题解
J
题意
题解
K
再见
L
题解
处理出n个圆和两条边的距离后跑最短路即可
NWERC2015 Debugging
题解
- 二分的$\log$次的
- 定义f(n):n行代码debug的代价
- 转移:$ f(n)=f(\lceil n/(i+1) \rceil ) + r + i·p$
- 转移的时候整除分块即可
- 时间复杂度O(n),实际上不到O(n),因为$\lceil \frac{n}{ab} \rceil$ = $\lceil\frac{\frac{n}{a}}{b} \rceil$
代码
1 |
|